home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / turbovis / tvtoys04.zip / README.TXT < prev    next >
Text File  |  1993-12-18  |  32KB  |  829 lines

  1.  
  2.                                 TVToys
  3.                               Version 1.4
  4.                              December 1993
  5.  
  6.                          Far Niente Productions
  7.  
  8.  
  9.     Contents  ▄
  10.   ▀▀▀▀▀▀▀▀▀▀▀▀▀
  11.    Introduction
  12.    Copyright
  13.    Short Description
  14.    Package File List
  15.  
  16.    Instructions
  17.    Porting
  18.    Suggestions
  19.    Turbo Pascal 6.0 Users
  20.    Compatibility Testing
  21.    Coding Style
  22.    Protected Mode Information
  23.    Overlay Information
  24.    PC Video Modes
  25.    Video 7
  26.  
  27.    The Improved Help File
  28.    Extended Video Mode Support Code
  29.    Custom Fonts
  30.    The NewMouse Unit
  31.    EXE Stream Unit
  32.    VideoModeChanged Variable
  33.  
  34.    Changes
  35.  
  36.    Credits
  37.    Author, Support, Info, Bugs etc
  38.    To Do List
  39.  
  40.  
  41.  
  42.     Introduction  ▄
  43.   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  44. Welcome to TVToys!
  45.  
  46. This is a collection of useful stuff that should be available to all
  47. Turbo Vision programmers. It is intended for Turbo Pascal 7.0 but would
  48. be possible to port to TP6. The font, palette and video mode code can
  49. be used in plain text mode without Turbo Vision.
  50.  
  51. THE SOURCE IS FREE AND COMES WITH NO WARRANTIES WHATSOEVER.
  52.  
  53. I hope that you will find this package useful. Have fun with it!
  54.  
  55.  
  56.  
  57.     Copyright  ▄
  58.   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  59. You may use this package for free and pass it on to other persons as
  60. long as you clearly state, in the header as well as in the code, all
  61. changes made to the original code.
  62.  
  63. You may not pass along compiled versions of the source, except as
  64. executable files.
  65.  
  66. You may also upload this package, unmodified, to bulletin boards or
  67. other public access places.
  68.  
  69. There must be no charge associated with this package, though you may
  70. include the unmodified package as a whole in shareware/freeware
  71. compilations if only a nominal amount is charged for the compilation
  72. disk.
  73.  
  74. I strongly urge people with money to spare to donate a small token
  75. of appreciation in the $20 range. That's 5 campus meals for me.
  76.  
  77.  
  78.  
  79.     Short Description  ▄
  80.   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  81. This package includes:
  82.  
  83. An improved Help viewer with back tracking and the possibility to add
  84. Contents and Index pages or whatever without recompiling HelpFile.
  85.  
  86. Extended video mode support. Code that determines what video modes are
  87. available and presents a list for the user to choose from. Video7 and
  88. VESA support included.
  89.  
  90. Custom fonts. Support for three different font file formats.
  91.  
  92. Palette routines. Change the EGA/VGA palette.
  93.  
  94. A mouse unit that limits the effects of buggy mouse drivers in extended
  95. video modes.
  96.  
  97. Three demonstration programs, personal configuration files.
  98.  
  99. Lots of commented code, tried and tested.
  100.  
  101.  
  102.  
  103.     Package File List  ▄
  104.   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  105. The package consists of the following files:
  106.  
  107. TOYAPP.PAS    The fast way to incorporate TVToys in your own app.
  108.  
  109. HELPFILE.PAS  Improved HelpFile with back tracking and external commands
  110. HELPTEST.PAS  Demonstration of HelpFile
  111. HELPCTX.PAS   Help contexts generated by TVHC
  112. HELPTEST.HLP  Demo Help text compiled with TVHC
  113. HELPTEST.TXT  The Help text source
  114.  
  115. VIDEO.PAS     A unit supporting extended video mode setting and searching
  116. MODEDLG.PAS   Dialog for presenting and selecting video modes
  117. TVVIDEO.PAS   TV support for all the new video modes
  118. VIDEOTST.PAS  Demonstration of Video, ModeDlg and TVVideo
  119. IMPRTANT.PAS  Warning dialog used by VideoTst
  120.  
  121. FONTFILE.PAS  Custom font file loading and storing
  122. FONTDLG.PAS   Custom font file selection dialog
  123. CHIC12.COM    Very nice font to get you going!
  124. DBLSTR.PAS    Special string class used by font file selection listbox
  125.  
  126. COLORBOX.PAS  Color selection box with a twist
  127. PAL.PAS       EGA/VGA palette handling
  128. TVPAL.PAS     TV palette changing dialog
  129. SCROLL.PAS    Scrollbar with instantanious dragging updates
  130.  
  131. RESTEST.PAS   Demonstrates streams, resource fonts, safer video detection
  132. CHECKVT.PAS   Automatic video detection choice dialog
  133.  
  134. NEWMOUSE.PAS  Snap in replacement mouse cursor for extended video modes
  135. COLORTXT.PAS  Enhanced static texts with color. Mini shadows
  136. EXESTRM.PAS   Stream that reads resources from your EXE
  137.  
  138. TOYCFG.PAS    Your personal code preferences file
  139. TOYPREFS.PAS  Your personal constants preferences file
  140.  
  141. TOYUTILS.PAS  Odd Pascal code, hex conversion, file and string stuff
  142. TVUTILS.PAS   Odd TV bits, validators and routines
  143. STRMREC.PAS   All the stream records in one unit
  144.  
  145. DPMI.PAS      DPMI assembler programming simplification code
  146. VESA.PAS      VESA support routines
  147.  
  148. TIP.TXT       Assortment of unrelated information.
  149. README.TXT    This text.
  150.  
  151.  
  152.  
  153.     Instructions  ▄
  154.   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  155. There are two demo programs, VIDEOTST and HELPTEST. All you have to do
  156. is compile and run them for a quick demonstration. There is also a
  157. RESTEST program demonstrating some advanced TVToys programming.
  158.  
  159. If you are upgrading from a previous version, check the Changes and
  160. Porting sections in this file. All conditionals controlling conditional
  161. compilation are now gathered in one central file called TOYCFG.PAS,
  162. which you should edit to your liking. TOYAPP makes it easy to add TVToys
  163. to your own programs.
  164.  
  165. If your mouse behaves oddly at times when running VIDEOTST, try
  166. defining UseNewMouse in TOYCFG. (The mouse cursor jumps around when
  167. you change video modes, but that's because the cursor stays at the same
  168. position relative to the upper left corner)
  169.  
  170. If you use VIEWS.TPU/TPP as shipped by Borland, you can try to define
  171. Color before compiling and running VIDEOTST.PAS. This spiffs up the Info
  172. Dialog and demonstrates ColorTxt.
  173.  
  174. Conventions:     The file TOYAPP contains the unit toyApp which
  175.                  defines the object (class) TToyApp. Files are .PAS
  176.                  if nothing else is stated. A "section" is a part of
  177.                  this file, having the section name for header.
  178.  
  179. Read the header in each source file to get more information,
  180. VIDEOTST.PAS especially.
  181.  
  182.  
  183.  
  184.     Porting  ▄
  185.   ▀▀▀▀▀▀▀▀▀▀▀▀
  186. News flash: TVTOYS DOES NOT SUPPORT smFont8x8 and smSpecialFont8x8,
  187. MAKE SURE YOU REMOVE all such references. There is a ToggleVideoLines
  188. function instead. smFont8x8 loses its use with all the new video modes.
  189.  
  190. You have to EXPLICITLY set the VideoModeChanged pointer to a font and
  191. palette reloading procedure, see the VideoModeChanged section.
  192.  
  193.  
  194. I am pro choice, which means that I try to give you the choice of using
  195. a certain feature or not. This means that you have to do some editing to
  196. incorporate the code in your own apps. TToyApp is an attempt at easing
  197. the pains for you.
  198.  
  199. If you use TToyApp, you are stuck with the HelpFile and most of the
  200. video code. Even if your application doesn't use Help, ALL the Help code
  201. will be compiled into the application.
  202.  
  203. I believe in making TToyApp provide basic services, and the application
  204. itself handling menu choices etc, but it gets tedious copying so I
  205. decided to burn some things into TToyApp anyway.
  206.  
  207. The way I see it, you have to copy some of the HandleEvent from VideoTst
  208. (but you have to edit that code anyway) and create some menus. The menus
  209. include the problem of assigning command values, so I have refrained
  210. from supplying default constructors like StdEditMenuItems. You are
  211. welcome to write your own.
  212.  
  213. The dialogs now all have help contexts. By default, dummy values from
  214. TOYPREFS are used. You should supply your own help context file whose
  215. name must match that in HCFILE.PAS, or edit HCFILE. You don't have to
  216. define all contexts at once, TOYPREFS will cover the ones missing. Make
  217. sure you use toyPrefs BEFORE your HelpCtx file (unit X; uses toyPrefs,
  218. MyHelpCtx, ...). You might have to rebuild sometimes. See HELPTEST.TXT
  219. for a list of help contexts. Also notice that hcDosShell is defined in
  220. Borland's APP unit, which easily leads to conflicts. Make sure your own
  221. help context file is used after any other file defining help contexts.
  222.  
  223.  
  224.  
  225.     Suggestions  ▄
  226.   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  227. Copy TOYCFG to your project directory and edit to your liking if a
  228. project calls for a different setup than you'd normally use.
  229.  
  230. Put toyPrefs very early in all uses lists, or your help context
  231. values will be zero. Notice how toy